package com.hivekion.common.annotation;

import com.hivekion.common.enums.OperationTypeEnum;
import com.hivekion.common.enums.OperationUnitEnum;

import java.lang.annotation.*;

@Documented
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface AutoLog {

      /**
       * 方法描述,可使用占位符获取参数:{{tel}}
       */
      String value() default "";

      /**
       * 日志等级:自己定，此处分为1-9
       */
      int level() default 0;

      /**
       * 操作类型(enum):主要是select,insert,update,delete，导入、导出
       */
      OperationTypeEnum operationType() default OperationTypeEnum.UNKNOWN;

      /**
       * 被操作的对象(此处使用enum):可以是任何对象，如表名(user)，或者是工具(redis)
       */
      OperationUnitEnum operationUnit() default OperationUnitEnum.UNKNOWN;

      String module() default "";
}
